ν¨ν€μ§ 보μ, μ·¨μ½μ νμ§, μν μ λ΅μ μ€μ μ λ μμ‘΄μ± κ΄λ¦¬ μ’ ν© κ°μ΄λ. κΈλ‘λ² κ°λ°νμ μν 보μ λͺ¨λ² μ¬λ‘λ₯Ό λ€λ£Ήλλ€.
μμ‘΄μ± κ΄λ¦¬: μ΅μ μννΈμ¨μ΄ κ°λ°μμ ν¨ν€μ§ 보μ 보μ₯νκΈ°
μ€λλ μ μννΈμ¨μ΄ κ°λ° νκ²½μμ μ ν리μΌμ΄μ μ μΈλΆ λΌμ΄λΈλ¬λ¦¬, νλ μμν¬, λꡬ(μ΄μΉνμ¬ μμ‘΄μ±)μ ν¬κ² μμ‘΄ν©λλ€. μ΄λ¬ν μμ‘΄μ±μ κ°λ° μλλ₯Ό λμ΄κ³ κΈ°λ₯μ ν₯μμν€μ§λ§, μ μ¬μ μΈ λ³΄μ μνλ ν¨κ» κ°μ Έμ΅λλ€. λ°λΌμ ν¨κ³Όμ μΈ μμ‘΄μ± κ΄λ¦¬λ μννΈμ¨μ΄ 곡κΈλ§μ 보μκ³Ό 무결μ±μ 보μ₯νκ³ μ·¨μ½μ μΌλ‘λΆν° μ ν리μΌμ΄μ μ 보νΈνλ λ° λ§€μ° μ€μν©λλ€.
μμ‘΄μ± κ΄λ¦¬λ 무μμΈκ°?
μμ‘΄μ± κ΄λ¦¬λ μννΈμ¨μ΄ νλ‘μ νΈμμ μ¬μ©λλ μμ‘΄μ±μ μλ³, μΆμ , μ μ΄νλ νλ‘μΈμ€μ λλ€. μ¬κΈ°μλ λ€μμ΄ ν¬ν¨λ©λλ€:
- μμ‘΄μ± μ μΈ: κ΅¬μ± νμΌ(μ:
package.json(npm),requirements.txt(pip),pom.xml(Maven),build.gradle(Gradle))μ νμν λΌμ΄λΈλ¬λ¦¬μ κ·Έ λ²μ μ λͺ μνλ κ². - μμ‘΄μ± ν΄κ²°: μ μΈλ μμ‘΄μ±κ³Ό κ·Έ μμ‘΄μ±μ΄ κ°μ§λ λ λ€λ₯Έ μμ‘΄μ±(μ μ΄ μμ‘΄μ±)μ ν¬ν¨νμ¬ μλμΌλ‘ λ€μ΄λ‘λνκ³ μ€μΉνλ κ².
- λ²μ κ΄λ¦¬: νΈνμ±μ 보μ₯νκ³ μ£Όμ λ³κ²½(breaking changes)μ λ°©μ§νκΈ° μν΄ μμ‘΄μ±μ λ²μ μ κ΄λ¦¬νλ κ².
- μ·¨μ½μ μ€μΊλ: μμ‘΄μ±μμ μλ €μ§ μ·¨μ½μ μ μλ³νλ κ².
- λΌμ΄μ μ€ κ΄λ¦¬: μμ‘΄μ±μ λΌμ΄μ μ€ μ€μλ₯Ό 보μ₯νλ κ².
ν¨ν€μ§ 보μμ΄ μ μ€μνκ°?
ν¨ν€μ§ 보μμ μννΈμ¨μ΄μμ μ¬μ©λλ μμ‘΄μ±κ³Ό κ΄λ ¨λ 보μ μνμ μλ³, νκ°, μννλ κ΄νμ λλ€. ν¨ν€μ§ 보μμ 무μνλ©΄ λ€μκ³Ό κ°μ μ¬κ°ν κ²°κ³Όλ₯Ό μ΄λν μ μμ΅λλ€:
- μ·¨μ½μ μ μ©: 곡격μλ μμ‘΄μ±μ μλ μλ €μ§ μ·¨μ½μ μ μ μ©νμ¬ μ ν리μΌμ΄μ μ μμμν€κ±°λ, λ°μ΄ν°λ₯Ό νμ·¨νκ±°λ, λ¬΄λ¨ μ κ·Ό κΆνμ μ»μ μ μμ΅λλ€.
- 곡κΈλ§ 곡격: μμλ μμ‘΄μ±μ μ ν리μΌμ΄μ μ μ μ± μ½λλ₯Ό μ£Όμ νλ λ° μ¬μ©λ μ μμΌλ©°, λͺ¨λ μ¬μ©μμκ² κ°μΌμ νμ°μν¬ μ μμ΅λλ€. λνμ μΈ μλ‘ SolarWinds 곡κΈλ§ κ³΅κ²©μ΄ μμ΅λλ€.
- λ°μ΄ν° μ μΆ: λ°μ΄ν°λ² μ΄μ€ λλΌμ΄λ²λ κΈ°ν λ°μ΄ν° κ΄λ ¨ λΌμ΄λΈλ¬λ¦¬μ μ·¨μ½μ μ λ°μ΄ν° μ μΆ λ° λ―Όκ° μ 보 μμ€λ‘ μ΄μ΄μ§ μ μμ΅λλ€.
- νν μμ: 보μ μ¬κ³ λ κΈ°μ μ ννμ μ¬κ°νκ² μμμν€κ³ κ³ κ°μ μ λ’°λ₯Ό μκ² ν μ μμ΅λλ€.
- λ²μ λ° κ·μ μ μν₯: GDPR, HIPAAμ κ°μ λ§μ κ·μ μ μ‘°μ§μ΄ λ―Όκ°ν λ°μ΄ν°λ₯Ό 보νΈνλλ‘ μꡬνλ©°, μ¬κΈ°μλ μννΈμ¨μ΄ μμ‘΄μ±μ μ·¨μ½μ μ ν΄κ²°νλ κ²μ΄ ν¬ν¨λ©λλ€.
μΌλ°μ μΈ μμ‘΄μ± μ·¨μ½μ
μμ‘΄μ±μλ λ€μκ³Ό κ°μ μ¬λ¬ μ νμ μ·¨μ½μ μ΄ μ‘΄μ¬ν μ μμ΅λλ€:
- SQL μΈμ μ : μ¬μ©μκ° μ 곡ν λ°μ΄ν°κ° μ μ ν μ μ κ³Όμ μμ΄ SQL 쿼리μ μ½μ λ λ λ°μνλ©°, 곡격μκ° μμμ SQL λͺ λ Ήμ μ€νν μ μκ² ν©λλ€.
- ν¬λ‘μ€ μ¬μ΄νΈ μ€ν¬λ¦½ν (XSS): 곡격μκ° λ€λ₯Έ μ¬μ©μκ° λ³΄λ μΉ νμ΄μ§μ μ μ± μ€ν¬λ¦½νΈλ₯Ό μ£Όμ ν μ μκ² ν©λλ€.
- μ격 μ½λ μ€ν(RCE): 곡격μκ° μλ²λ ν΄λΌμ΄μΈνΈ λ¨Έμ μμ μμμ μ½λλ₯Ό μ€νν μ μκ² ν©λλ€.
- μλΉμ€ κ±°λΆ(DoS): μμ€ν μ κ³Όλν μμ²μ λ³΄λ΄ ν©λ²μ μΈ μ¬μ©μκ° μλΉμ€λ₯Ό μ΄μ©ν μ μκ² λ§λλλ€.
- μΈμ¦ μ°ν: 곡격μκ° μΈμ¦ λ©μ»€λμ¦μ μ°ννμ¬ λ¬΄λ¨μΌλ‘ μ κ·Όν μ μκ² ν©λλ€.
- κ²½λ‘ νμ: 곡격μκ° μλλ λ²μλ₯Ό λ²μ΄λ νμΌμ΄λ λλ ν°λ¦¬μ μ κ·Όν μ μκ² ν©λλ€.
- μμ§λ ¬ν μ·¨μ½μ : μ λ’°ν μ μλ λ°μ΄ν°κ° μμ§λ ¬νλ λ λ°μνλ©°, μ μ¬μ μΌλ‘ μ½λ μ€νμΌλ‘ μ΄μ΄μ§ μ μμ΅λλ€.
μ΄λ¬ν μ·¨μ½μ λ€μ μ’ μ’ λ―Έκ΅ κ΅λ¦½ μ·¨μ½μ λ°μ΄ν°λ² μ΄μ€(NVD)λ κ³΅ν΅ μ·¨μ½μ λ° λ ΈμΆ(CVE) λͺ©λ‘κ³Ό κ°μ μ·¨μ½μ λ°μ΄ν°λ² μ΄μ€μ 곡κ°λ©λλ€. κ·Έλ¬λ©΄ λꡬλ€μ μ΄ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ¬μ©νμ¬ μ·¨μ½ν μμ‘΄μ±μ μλ³ν μ μμ΅λλ€.
μμ ν μμ‘΄μ± κ΄λ¦¬λ₯Ό μν λͺ¨λ² μ¬λ‘
κ²¬κ³ ν μμ‘΄μ± κ΄λ¦¬ κ΄νμ ꡬννλ κ²μ 보μ μνμ μννλ λ° νμμ μ λλ€. λ€μμ λͺ κ°μ§ μ£Όμ λͺ¨λ² μ¬λ‘μ λλ€:
1. μμ‘΄μ± κ΄λ¦¬ λꡬ μ¬μ©
νλ‘κ·Έλλ° μΈμ΄μ μνκ³μ μ ν©ν μ μ© μμ‘΄μ± κ΄λ¦¬ λꡬλ₯Ό μ¬μ©νμμμ€. λ리 μ¬μ©λλ μ΅μ μ λ€μκ³Ό κ°μ΅λλ€:
- npm (Node Package Manager): JavaScript νλ‘μ νΈμ©.
- pip (Pip Installs Packages): Python νλ‘μ νΈμ©.
- Maven: Java νλ‘μ νΈμ©.
- Gradle: Java, Kotlin, Groovy λ° κΈ°ν μΈμ΄λ₯Ό μν λΉλ μλν λꡬ. Mavenλ³΄λ€ μ μ°ν©λλ€.
- NuGet: .NET νλ‘μ νΈμ©.
- Bundler: Ruby νλ‘μ νΈμ©.
- Composer: PHP νλ‘μ νΈμ©.
- Go Modules: Go νλ‘μ νΈμ©.
μ΄λ¬ν λꡬλ€μ μμ‘΄μ± μ μΈ, ν΄κ²°, λ²μ κ΄λ¦¬ νλ‘μΈμ€λ₯Ό μλννμ¬ μμ‘΄μ±κ³Ό κ·Έ λ²μ μ μ½κ² μΆμ ν μ μλλ‘ ν©λλ€.
2. μμ‘΄μ± μ κΈ λ° λ²μ κ³ μ μ¬μ©
μμ‘΄μ± μ κΈμ νλ‘μ νΈμμ μ¬μ©ν μμ‘΄μ±μ μ νν λ²μ μ λͺ μνλ κ²μ ν¬ν¨ν©λλ€. μ΄λ μμ‘΄μ± μ λ°μ΄νΈλ‘ μΈν μκΈ°μΉ μμ λμμ λ°©μ§νκ³ , μ¬λ¬ νκ²½μμ μ ν리μΌμ΄μ μ΄ μΌκ΄λκ² μλνλλ‘ λ³΄μ₯ν©λλ€. λ²μ κ³ μ , μ¦ μ νν λ²μ λ²νΈλ₯Ό μ§μ νλ κ²μ κ°μ₯ μ격ν ννμ μ κΈμ λλ€.
μλ₯Ό λ€μ΄, package.jsonμμ "lodash": "^4.0.0"κ³Ό κ°μ λ²μ λ²μ λμ "lodash": "4.17.21"κ³Ό κ°μ μ νν λ²μ λ²νΈλ₯Ό μ¬μ©ν μ μμ΅λλ€. λ€λ₯Έ ν¨ν€μ§ κ΄λ¦¬μμλ μ μ¬ν λ©μ»€λμ¦μ΄ μ‘΄μ¬ν©λλ€.
μμ‘΄μ± μ κΈ νμΌ(μ: npmμ package-lock.json, pip freeze > requirements.txtλ₯Ό μ¬μ©ν pipμ requirements.txt, pom.xmlμ λ²μ κ΄λ¦¬)μ μ μ΄ μμ‘΄μ±μ ν¬ν¨ν λͺ¨λ μμ‘΄μ±μ μ νν λ²μ μ κΈ°λ‘νμ¬ μΌκ΄λ λΉλλ₯Ό 보μ₯ν©λλ€.
3. μ κΈ°μ μΌλ‘ μ·¨μ½μ μ€μΊ
μλνλ μ·¨μ½μ μ€μΊλμ ꡬννμ¬ μμ‘΄μ±μ μλ μλ €μ§ μ·¨μ½μ μ μλ³νμμμ€. CI/CD νμ΄νλΌμΈμ μ·¨μ½μ μ€μΊλμ ν΅ν©νμ¬ λͺ¨λ λΉλκ° μ·¨μ½μ μ κ²μ¬νλλ‘ νμμμ€.
μ·¨μ½μ μ€μΊλμ λμμ΄ λλ λͺ κ°μ§ λꡬλ λ€μκ³Ό κ°μ΅λλ€:
- OWASP Dependency-Check: Java, .NET λ° κΈ°ν νλ‘μ νΈμμ μλ €μ§ μ·¨μ½ν κ΅¬μ± μμλ₯Ό μλ³νλ λ¬΄λ£ μ€ν μμ€ λꡬμ λλ€.
- Snyk: λ€μν νλ‘κ·Έλλ° μΈμ΄ λ° μνκ³μ λν μ·¨μ½μ μ€μΊλ λ° ν΄κ²° μ‘°μΈμ μ 곡νλ μμ© λꡬμ λλ€.
- WhiteSource Bolt: μ·¨μ½μ μ€μΊλ λ° λΌμ΄μ μ€ μ€μ λΆμμ μ 곡νλ λ¬΄λ£ λꡬμ λλ€.
- GitHub Security Alerts: GitHubλ μ μ₯μμμ μλ €μ§ μ·¨μ½μ μ μλμΌλ‘ μ€μΊνκ³ κ΄λ¦¬μμκ² μλ¦Όμ 보λ λλ€.
- JFrog Xray: μννΈμ¨μ΄ κ°λ° μλͺ μ£ΌκΈ° μ λ°μ κ±Έμ³ λ°μ΄λ리 λ° μμ‘΄μ±μ λν μ§μμ μΈ λ³΄μ λ° κ·μ μ€μ μ€μΊλμ μ 곡νλ μμ© λꡬμ λλ€.
- SonarQube/SonarLint: κ΄λ²μν μ½λ νμ§ λΆμμ μΌλΆλ‘ μΌλΆ μμ‘΄μ± μ·¨μ½μ μ νμ§ν μ μμ΅λλ€.
μ΄λ¬ν λꡬλ€μ νλ‘μ νΈμ μμ‘΄μ±μ λ―Έκ΅ κ΅λ¦½ μ·¨μ½μ λ°μ΄ν°λ² μ΄μ€(NVD) λ° CVE λͺ©λ‘κ³Ό κ°μ μ·¨μ½μ λ°μ΄ν°λ² μ΄μ€μ λΉκ΅νμ¬ μ·¨μ½μ μ΄ λ°κ²¬λλ©΄ κ²½κ³ λ₯Ό μ 곡ν©λλ€.
4. μμ‘΄μ±μ μ΅μ μνλ‘ μ μ§
μλ €μ§ μ·¨μ½μ μ ν¨μΉνκΈ° μν΄ μ κΈ°μ μΌλ‘ μμ‘΄μ±μ μ΅μ λ²μ μΌλ‘ μ λ°μ΄νΈνμμμ€. κ·Έλ¬λ μ λ°μ΄νΈκ° λλλ‘ μ£Όμ λ³κ²½(breaking changes)μ μ΄λν μ μμΌλ―λ‘ μμ‘΄μ±μ μ λ°μ΄νΈν λλ μ μ€ν΄μΌ ν©λλ€. μμ‘΄μ±μ μ λ°μ΄νΈν νμλ λͺ¨λ κ²μ΄ μ¬μ ν μμλλ‘ μλνλμ§ νμΈνκΈ° μν΄ μ ν리μΌμ΄μ μ μ² μ ν ν μ€νΈνμμμ€.
λ€μκ³Ό κ°μ μλνλ μμ‘΄μ± μ λ°μ΄νΈ λꡬ μ¬μ©μ κ³ λ €ν΄ λ³΄μμμ€:
- Dependabot: GitHub μ μ₯μμ μμ‘΄μ±μ μ λ°μ΄νΈνκΈ° μν΄ μλμΌλ‘ ν 리νμ€νΈλ₯Ό μμ±ν©λλ€.
- Renovate: Dependabotκ³Ό μ μ¬ν λꡬλ‘, λ λμ λ²μμ ν¨ν€μ§ κ΄λ¦¬μμ νλ«νΌμ μ§μν©λλ€.
- npm update:
package.jsonνμΌμ λͺ μλ λ²μ λ²μμμ νμ©νλ μ΅μ λ²μ μΌλ‘ μμ‘΄μ±μ μ λ°μ΄νΈν©λλ€. - pip install --upgrade: ν¨ν€μ§λ₯Ό μ΅μ λ²μ μΌλ‘ μ κ·Έλ μ΄λν©λλ€.
5. μ΅μ λ²μ μ μ± μν
μλ €μ§ μ·¨μ½μ μ΄ μκ±°λ μ€λλ μμ‘΄μ±μ μ¬μ©μ κΈμ§νλ μ μ± μ μ립νμμμ€. μ΄λ κ°λ°μκ° μ·¨μ½ν μμ‘΄μ±μ μ½λλ² μ΄μ€μ λμ νλ κ²μ λ°©μ§νλ λ° λμμ΄ λ©λλ€.
6. μννΈμ¨μ΄ κ΅¬μ± λΆμ(SCA) λꡬ μ¬μ©
SCA λꡬλ μ ν리μΌμ΄μ μ μ¬μ©λ μ€ν μμ€ κ΅¬μ± μμμ λν ν¬κ΄μ μΈ κ°μμ±μ μ 곡νλ©°, μ¬κΈ°μλ λΌμ΄μ μ€ λ° μ·¨μ½μ μ λ³΄κ° ν¬ν¨λ©λλ€. SCA λꡬλ λν μ μ΄ μμ‘΄μ±μ μλ³νκ³ μΆμ νλ λ° λμμ΄ λ μ μμ΅λλ€.
SCA λꡬμ μλ λ€μκ³Ό κ°μ΅λλ€:
- Snyk: (μμ μΈκΈλ¨)
- Black Duck: μ€ν μμ€ κ΅¬μ± μμμ κ·Έ μ·¨μ½μ μ λν μμΈ μ 보λ₯Ό μ 곡νλ μμ© SCA λꡬμ λλ€.
- Veracode Software Composition Analysis: μ€ν μμ€ μνμ μλ³νκ³ κ΄λ¦¬νλ λ° λμμ΄ λλ μμ© λꡬμ λλ€.
7. 보μ κ°λ° μλͺ μ£ΌκΈ°(SDLC) ꡬν
μꡬμ¬ν μμ§λΆν° λ°°ν¬ λ° μ μ§λ³΄μμ μ΄λ₯΄κΈ°κΉμ§ μννΈμ¨μ΄ κ°λ° μλͺ μ£ΌκΈ°μ λͺ¨λ λ¨κ³μ 보μ κ³ λ € μ¬νμ ν΅ν©νμμμ€. μ¬κΈ°μλ μν λͺ¨λΈλ§, 보μ μ½λ κ²ν , μΉ¨ν¬ ν μ€νΈ μνμ΄ ν¬ν¨λ©λλ€.
8. κ°λ°μμκ² λ³΄μ μ½λ© κ΄ν κ΅μ‘
κ°λ°μμκ² μΌλ°μ μΈ μ·¨μ½μ μ νΌνλ λ°©λ²κ³Ό μμ‘΄μ± κ΄λ¦¬ λꡬλ₯Ό ν¨κ³Όμ μΌλ‘ μ¬μ©νλ λ°©λ²μ ν¬ν¨ν 보μ μ½λ© κ΄νμ λν κ΅μ‘μ μ 곡νμμμ€. κ°λ°μκ° μ΅μ 보μ μν λ° λͺ¨λ² μ¬λ‘μ λν΄ μ΅μ μ 보λ₯Ό μ μ§νλλ‘ μ₯λ €νμμμ€.
9. νλ‘λμ νκ²½μμ μμ‘΄μ± λͺ¨λν°λ§
νλ‘λμ νκ²½μμ μλ‘μ΄ μ·¨μ½μ μ΄ μλμ§ μ§μμ μΌλ‘ μμ‘΄μ±μ λͺ¨λν°λ§νμμμ€. μ΄λ₯Ό ν΅ν΄ μλ‘μ΄ μνμ μ μνκ² λμνκ³ μ μ¬μ μνμ μνν μ μμ΅λλ€. λ°νμ μ ν리μΌμ΄μ μκ° λ³΄νΈ(RASP) λꡬλ₯Ό μ¬μ©νμ¬ μ€μκ°μΌλ‘ 곡격μ νμ§νκ³ λ°©μ§νμμμ€.
10. μ κΈ°μ μΌλ‘ μμ‘΄μ± κ·Έλν κ°μ¬
μμ‘΄μ± κ·Έλνλ νλ‘μ νΈμ κ·Έ μμ‘΄μ±(μ μ΄ μμ‘΄μ± ν¬ν¨) κ°μ κ΄κ³λ₯Ό μκ°νν©λλ€. μ κΈ°μ μΌλ‘ μμ‘΄μ± κ·Έλνλ₯Ό κ°μ¬νλ©΄ μν μμ‘΄μ±μ΄λ μ μ΄ μμ‘΄μ±μ΄ λ§μ μμ‘΄μ±κ³Ό κ°μ μ μ¬μ μνμ μλ³νλ λ° λμμ΄ λ μ μμ΅λλ€.
11. νλΌμ΄λΉ ν¨ν€μ§ λ μ§μ€νΈλ¦¬ μ¬μ© κ³ λ €
λ―Όκ°νκ±°λ λ μ μ μΈ μμ‘΄μ±μ κ²½μ°, λ¬΄λ¨ μ κ·Ό λ° μμ μ λ°©μ§νκΈ° μν΄ νλΌμ΄λΉ ν¨ν€μ§ λ μ§μ€νΈλ¦¬ μ¬μ©μ κ³ λ €νμμμ€. νλΌμ΄λΉ ν¨ν€μ§ λ μ§μ€νΈλ¦¬λ₯Ό μ¬μ©νλ©΄ μ체 ν¨ν€μ§λ₯Ό νΈμ€ν νκ³ μ κ·Ό κΆνμ μ μ΄ν μ μμ΅λλ€.
νλΌμ΄λΉ ν¨ν€μ§ λ μ§μ€νΈλ¦¬μ μλ λ€μκ³Ό κ°μ΅λλ€:
- npm Enterprise: npm ν¨ν€μ§λ₯Ό μν νλΌμ΄λΉ ν¨ν€μ§ λ μ§μ€νΈλ¦¬μ λλ€.
- JFrog Artifactory: λ€μν ν¨ν€μ§ νμμ μ§μνλ λ²μ© μν°ν©νΈ μ μ₯μ κ΄λ¦¬μμ λλ€.
- Sonatype Nexus Repository: λ λ€λ₯Έ λ²μ© μν°ν©νΈ μ μ₯μ κ΄λ¦¬μμ λλ€.
12. μ¬κ³ λμ μ μ°¨ μ립
μ·¨μ½ν μμ‘΄μ±κ³Ό κ΄λ ¨λ 보μ μ¬κ³ λ₯Ό μ²λ¦¬νκΈ° μν μ¬κ³ λμ μ μ°¨λ₯Ό κ°λ°νμμμ€. μ¬κΈ°μλ μν κ³Ό μ± μ μ μ, ν΅μ μ±λ ꡬμΆ, λ΄μ, κ·Όμ λ° λ³΅κ΅¬λ₯Ό μν λ¨κ³ κ°μκ° ν¬ν¨λ©λλ€.
λΆμ€ν μμ‘΄μ± κ΄λ¦¬λ‘ μΈν 보μ μ·¨μ½μ μ¬λ‘
λͺλͺ μ λͺ 보μ μ¬κ³ λ λΆμ€ν μμ‘΄μ± κ΄λ¦¬μμ λΉλ‘―λμμ΅λλ€:
- Equifax λ°μ΄ν° μ μΆ (2017): Equifaxλ λ리 μ¬μ©λλ μ€ν μμ€ μΉ μ ν리μΌμ΄μ νλ μμν¬μΈ Apache Strutsμ μ·¨μ½μ μΌλ‘ μΈν΄ λκ·λͺ¨ λ°μ΄ν° μ μΆμ κ²ͺμμ΅λλ€. Equifaxλ μ λμ μ·¨μ½μ μ ν¨μΉνμ§ λͺ»ν΄ 곡격μλ€μ΄ μλ°±λ§ λͺ μ κ³ κ°μΌλ‘λΆν° λ―Όκ°ν λ°μ΄ν°λ₯Ό νμΉ μ μμμ΅λλ€. μ΄λ μμ‘΄μ±μ μ΅μ μνλ‘ μ μ§νλ κ²μ μ€μμ±μ κ°μ‘°ν©λλ€.
- SolarWinds 곡κΈλ§ 곡격 (2020): 곡격μλ€μ SolarWindsμ Orion νλ«νΌμ μμμμΌ μμ² λͺ μ κ³ κ°μκ² λ°°ν¬λ μννΈμ¨μ΄ μ λ°μ΄νΈμ μ μ± μ½λλ₯Ό μ£Όμ νμ΅λλ€. μ΄λ 곡κΈλ§ 곡격μ μνκ³Ό μννΈμ¨μ΄ μ λ°μ΄νΈμ λ¬΄κ²°μ± κ²μ¦μ μ€μμ±μ κ°μ‘°ν©λλ€.
- Left-Pad μ¬κ±΄ (2016): ν κ°λ°μκ° μμ§λ§ λ리 μ¬μ©λλ "left-pad"λΌλ npm ν¨ν€μ§μ κ²μλ₯Ό μ·¨μνμ¬ μμ² κ°μ νλ‘μ νΈκ° μ€λ¨λμμ΅λλ€. μ΄λ λ¨μΌ μ₯μ μ μ μμ‘΄νλ μνκ³Ό λ°±μ κ³νμ μ€μμ±μ 보μ¬μ€λλ€. μ§μ μ μΈ λ³΄μ μ·¨μ½μ μ μλμμ§λ§, μΈλΆ μμ‘΄μ±μ μμ‘΄νλ κ²μ΄ μΌλ§λ μ·¨μ½νμ§λ₯Ό 보μ¬μ€λλ€.
μ€ν μμ€ λ³΄μ μ΄λμ ν°λΈ
λͺλͺ μ‘°μ§κ³Ό μ΄λμ ν°λΈκ° μ€ν μμ€ λ³΄μ κ°μ μ μν΄ λ Έλ ₯νκ³ μμ΅λλ€:
- Open Source Security Foundation (OpenSSF): μ€ν μμ€ μννΈμ¨μ΄μ 보μμ κ°μ νκΈ° μν νλ ₯μ λ Έλ ₯μ λλ€.
- OWASP (Open Web Application Security Project): μννΈμ¨μ΄ 보μ κ°μ μ μ λ νλ λΉμ리 λ¨μ²΄μ λλ€.
- CVE (Common Vulnerabilities and Exposures): 곡κ°μ μΌλ‘ μλ €μ§ μ 보 보μ μ·¨μ½μ λ° λ ΈμΆμ λν μ¬μ μ λλ€.
- NVD (National Vulnerability Database): νμ€ κΈ°λ° μ·¨μ½μ κ΄λ¦¬ λ°μ΄ν°μ λ―Έκ΅ μ λΆ μ μ₯μμ λλ€.
κ²°λ‘
ν¨κ³Όμ μΈ μμ‘΄μ± κ΄λ¦¬λ μ΅μ μννΈμ¨μ΄ μ ν리μΌμ΄μ μ 보μκ³Ό 무결μ±μ 보μ₯νλ λ° λ§€μ° μ€μν©λλ€. μ΄ κ°μ΄λμμ μ€λͺ ν λͺ¨λ² μ¬λ‘λ₯Ό ꡬνν¨μΌλ‘μ¨ μ·¨μ½ν μμ‘΄μ±κ³Ό κ΄λ ¨λ μνμ μννκ³ κ³΅κ²©μΌλ‘λΆν° μ ν리μΌμ΄μ μ 보νΈν μ μμ΅λλ€. μ κΈ°μ μΌλ‘ μ·¨μ½μ μ μ€μΊνκ³ , μμ‘΄μ±μ μ΅μ μνλ‘ μ μ§νλ©°, κ°λ°μμκ² λ³΄μ μ½λ© κ΄νμ κ΅μ‘νλ κ²μ μμ ν μννΈμ¨μ΄ 곡κΈλ§μ μ μ§νκΈ° μν νμμ μΈ λ¨κ³μ λλ€. 보μμ μ§μμ μΈ νλ‘μΈμ€μ΄λ©°, μλ‘μ΄ μνμ μμ λκ°κΈ° μν΄μλ λμμλ κ²½κ³κ° νμνλ€λ κ²μ κΈ°μ΅νμμμ€. μννΈμ¨μ΄ κ°λ°μ κΈλ‘λ²ν νΉμ±μ 보μ κ΄νμ΄ μμΉμ κ΄κ³μμ΄ λͺ¨λ νκ³Ό νλ‘μ νΈμ κ±Έμ³ κ²¬κ³ νκ³ μΌκ΄λκ² μ μ©λμ΄μΌ ν¨μ μλ―Έν©λλ€.